home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d13 / pds300.arc / BLDTST.C next >
C/C++ Source or Header  |  1991-02-09  |  1KB  |  73 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <ctype.h>
  5.  
  6. void Usage (void);
  7.  
  8.  
  9.  void
  10. main (int argc, char *argv[]) {
  11.     FILE *F1;
  12.     char FileName[65];
  13.     char String[10];
  14.     char *Ptr;
  15.     long Count, j;
  16.     int i;
  17.     int Random = 0;
  18.  
  19.     if (argc < 2) Usage();
  20.  
  21.     strcpy(FileName, "test.dat");
  22.  
  23.     for (i=1; i < argc; i++) {
  24.         if (argv[i][0] != '-') continue;
  25.         switch ( tolower(argv[i][1]) ) {
  26.             case 'r':
  27.                 Random = 1;
  28.                 break;
  29.             case 'f':
  30.                 if (i < argc) strcpy(FileName, argv[i+1]);
  31.                 else {
  32.                     fprintf(stderr,"The '-f' option requires a file name.\n");
  33.                     exit(1);
  34.                     }
  35.                 break;
  36.             default:
  37.                 fprintf(stderr, "Invalid option: %s\n", argv[i]);
  38.                 Usage();
  39.             }
  40.         }
  41.  
  42.     for (i=1; i < argc; i++) {
  43.         if (argv[i][0] == '-') continue;
  44.         Count = strtol(argv[i], &Ptr, 10);
  45.         if (*Ptr != '\0') {
  46.             fprintf(stderr, "Invalid count: %s\n", argv[i]);
  47.             exit(1);
  48.             }
  49.         }
  50.  
  51.     if ( (F1 = fopen(FileName, "w")) == NULL ) {
  52.         fprintf(stderr, "I can't create output file: %s", FileName);
  53.         perror("");
  54.         exit(1);
  55.         }
  56.  
  57.     for (j=0; j < Count; j++) {
  58.         if (Random) sprintf(String, "%09d", rand() );
  59.         else sprintf(String, "%09.9ld", j);
  60.         String[9] = '\0';
  61.         if ( (j) && ( (j % 1000) == 0) ) printf(".");
  62.         fprintf(F1, "%s\n", String);
  63.         }
  64.  
  65.     fclose(F1);
  66.     }
  67.  
  68.  
  69.  void
  70. Usage (void) {
  71.     fprintf(stderr, "USAGE: bldtst [-r] [-f file_name] count\n");
  72.     exit(1);
  73.     }